/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DTD.Diccionario;

import java.util.ArrayList;

/**
 * Clase que contiene todos los tipos de datos que pueden tener las etiqueta
 * @author Administrador
 */
public class DiccionarioTipoDato implements IDiccionario {
    private ArrayList<String> palabras; //lista de palabras reservadas para los tipos de datos
    private int tipo; //tipo de dicionario tipo de dato

    /**
     * Constructor
     */
    public DiccionarioTipoDato() {
        palabras = new ArrayList<String>();
        tipo = DiccionarioTipoDato.DATA_TYPE;
        cargar();
    }

    /**
     * Determina si la cadena recibida por parámetro es un tipo de datos
     * @param palabra String a validar
     * @return True si es un tipo de dato, false en caso contrario
     */
    public boolean existe(String palabra) {
        return palabras.contains(palabra);
    }

    /**
     * Carga todos los tipos de datos existentes
     */
    private void cargar() {
        palabras.add("#PCDATA");
        palabras.add("CDATA");
        palabras.add("NMTOKEN");
        palabras.add("ID");
        palabras.add("IDREFS");
    }

    /**
     * Mètodo que devuelve el identificador correspondiente al diccionario de tipo
     * de datos
     * @return int que corresponde a tipo de dato
     */
    public int getTipoDiccionario() {
        return tipo;
    }

}
